Trading exchanges historically provided a location for buyers and sellers to meet to trade stocks, bonds, currencies, commodities, and other items. Electronic trading exchange systems use communications networks and computers to replicate traditional face-to-face exchange functions. For example, centralized exchange computers disseminate market information, maintain records and statistics, settle cash payments, determine risk-based margin requirements, and match trades.
A communications network connects the exchange computers to numerous trader sites. Trader stations, at the trader sites, operated by traders include interface functionality that enables traders to view prices and other information relating to products and to execute transactions by submitting orders and quotes. Orders are requests to buy or sell a specified amount of a particular security at a specified price. The securities available for trade, at the trading exchange, are electronically setup and represented by instruments at the trading exchange. An order for an amount of a particular instrument is thus related to the buying or selling of the security corresponding to the instrument. As an example, a trader may place an order to buy 100 shares of IBM stock at a bid price of 57.25. Quotes differ from orders in that quotes indicate bid price and ask prices, and bid and ask quantities for a particular instrument. Traders typically place an order to initiate a transaction. Professional market makers can place either orders or quotes, but tend to fulfill their role as a market maker by providing liquidity to a particular instrument by providing quotes for the instrument and thereby creating a market. Orders are stored in an order book which is a list of buy and sell orders available to be matched or maintained for each security that is traded in the system. Each order includes a quantity and a price. Various trading information is disseminated and displayed to allow traders to quickly identify market opportunities and act on them in the hope of generating profits.
An ongoing goal of electronic trading exchanges is to provide low latency associated with the trading process. Trading latency is the time for an exchange to process an order or quote received from a trader and either reject it, execute it, or place it in an order book for possible future execution. By providing low trading latency, a trader can react faster to changes in the market. Fast reaction is particularly important for “algorithmic traders” (computers) that place orders in the trading exchange according to certain principles. Algorithmic traders are important customers for trading exchanges because they provide substantial liquidity in the market.
In addition to low latency, it is also important to control the risk associated with electronic trading including the creditworthiness of the entity placing the order. For example, securities trading involves some risk regarding whether the trading counterparty will pay for securities traded in a trading day. This risk is an issue in bilateral trading where the exchange acts as a broker as well as in situations where the exchange acts as a central counterparty. The risk may be even greater for financial instruments or products like options, futures, derivatives, etc. where the parties agree to buy/sell in the future. As a result, most exchanges require exchange “members” to post some collateral and set limits on each member's trading activity based on that collateral. Another example risk “check” relating to selling a security might be to verify that the number of securities specified in the order is the number actually registered for the seller's account. In some areas of the world, regulators explicitly forbid “short selling,” e.g., sending in a sell order for a security one does not own.
One way to reduce risk is to perform pre-order validation. Consider FIG. 1 which checks whether received orders are valid or invalid by performing pre-order validation. An invalid order might be one that is too risky based on one or more risk criteria and is therefore rejected. On the other hand, an approved/validated order is forwarded to a gateway computer 12 that may perform other matching functions like user authentication and other security-related functions. The gateway computer 12 passes the approved order on to a matching engine 14 that matches the order if possible or stores it unmatched in an appropriate order book 15. As explained above, the order book 15 manages the list of buy and sell orders available to be matched or maintained for each instrument that is traded in the system.
In this way, the current risk for a trader is controlled per order before any matching. For example, if an order exceeds a risk limit associated with the trader, the exchange, etc., the pre-order validation computer 10 can reject it. If the order is accepted, the pre-order validation computer 10 can update the current possible risk level.
The problem with this approach is that pre-order validation is made in sequence. The matching engine 14 must wait for the pre-order validation computer 10 to finish its processing and generate the approved order before the matching engine 14 can perform its trading functions. That pre-order validation delay increases trading latency. As an example, assume that each of the pre-order validation computer 10, gateway 12, and matching engine 14 requires 100 μs to process an order. The total minimum trading latency of the order is then 300 μs. This latency problem quickly escalates as the number of trades increases. As mentioned above, for example, algorithmic traders may trade with very high frequency and very high volume, making order latency a significant issue for electronic trading exchanges. As the volume of orders and quotes increases, the burden and delay with calculating the risk on every order entered also increases.